package com.owlsmart.bluecat.activity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.widget.FrameLayout;
import android.widget.LinearLayout;

import com.just.agentweb.AgentWeb;
import com.owlsmart.bluecat.R;
import com.owlsmart.bluecat.jsbridge.BridgeHandler;
import com.owlsmart.bluecat.jsbridge.BridgeWebView;
import com.owlsmart.bluecat.jsbridge.CallBackFunction;

/**
 * @author mingtai
 * @description 用来呈现web页面
 * @time 2020/11/21 22:21
 */


@SuppressLint("SetJavaScriptEnabled")
public class WebActivity extends BaseActivity {

    private BridgeWebView bridgeWebView;
    private String url;
    protected AgentWeb mAgentWeb;
    private FrameLayout frameLayout;
    @Override
    protected int initLayout() {
        return R.layout.activity_web;
    }

    @Override
    protected void initView() {
        frameLayout = findViewById(R.id.bridgeWebView);
    }

    @Override
    protected void initDate() {

        // 获取上一级传过来的bundle
        Bundle bundle = getIntent().getExtras();
        if (bundle != null) {
            url = bundle.getString("url");
        }
        initWebView();
    }


    private void initWebView() {

        // WebSettings settings = bridgeWebView.getSettings();
        // settings.setJavaScriptEnabled(true);
        // settings.setNeedInitialFocus(true);
        // settings.setSupportZoom(true);
        // settings.setLoadWithOverviewMode(true);
        // settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS );
        // settings.setLoadsImagesAutomatically(true);
        //
        //
        // settings.setUseWideViewPort(true);
        // //
        //
        // //
        // settings.setTextZoom(300);
        // bridgeWebView.loadUrl(url);
        // // bridgeWebView.loadDataWithBaseURL(null, getHtmlData(url), "text/html", "UTF_8", null);

        mAgentWeb = AgentWeb.with(this)
                .setAgentWebParent( frameLayout, new ViewGroup.LayoutParams(-1, -1))
                .useDefaultIndicator()
                .createAgentWeb()
                .ready()
                .go(url);
        mAgentWeb.getAgentWebSettings().getWebSettings().setUseWideViewPort(true); //将图片调整到适合webview的大小
        mAgentWeb.getAgentWebSettings().getWebSettings().setLoadWithOverviewMode(true); // 缩放至屏幕的大小
        mAgentWeb.getAgentWebSettings().getWebSettings().setTextZoom(300);

    }

    // 给js提供一个接口，当js调用这个接口时，会执行一下内容
    private void registJavaHandler() {
        // 给js提供一个接口，当js调用goBack接口时，会执行finish()方法
        bridgeWebView.registerHandler("goBack", new BridgeHandler() {
            @Override
            public void handler(String data, CallBackFunction function) {
                // String data 前端代码带过来的数据
                // function.onCallBack("0");  此方法可以调用前端代码，回传信息，完成混合开发android与js的通信
                // 销毁当前Activity的方法
                finish();
            }
        });
    }


}